package com.sky.vo;
/**
 * 1.当前模块名：sky-pojo
 *   模块作用：存放视图对象(Value Object)，用于Controller层返回给前端的结构化数据
 * 2.当前包名：com.sky.vo
 *   包作用：封装Controller层返回的视图数据模型（Value Object）
 * 3.当前类名：OrderPaymentVO
 *   类作用：微信支付参数视图对象，封装前端调起支付所需的参数
 */
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * OrderPaymentVO：微信支付参数视图对象
 * 知识点说明：
 * 1. 微信支付流程：封装微信JSAPI支付所需的完整参数集
 * 2. 安全签名机制：paySign字段防止支付参数被篡改
 * 3. 防重放设计：nonceStr随机字符串防止重放攻击
 * 4. 时间戳控制：timeStamp确保支付请求时效性
 * 5. 预支付标识：packageStr包含预支付交易标识符
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class OrderPaymentVO implements Serializable {

    private String nonceStr; //随机字符串
    private String paySign; //签名
    private String timeStamp; //时间戳
    private String signType; //签名算法
    private String packageStr; //统一下单接口返回的 prepay_id 参数值,预支付标识 - 格式为"prepay_id=wx1234567890"

}
